package com.pureut.system.mapper;

import com.pureut.system.domain.dto.MaterialHalfDto;
import com.pureut.system.domain.MaterialHalf;
import com.pureut.system.domain.dto.ProjectRecursionDto;
import com.pureut.system.domain.vo.MaterialHalfVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description
 * @Param
 * @Date
 * @Author hl
 **/
public interface MaterialHalfMapper {

    /**
     * 查询半成品信息
     */
    List<MaterialHalfDto> selectHalfList(MaterialHalfVo materialHalf);

    /**
     * 新增半成品信息
     */
    int insertMateriaHalf(MaterialHalf materialHalf);

    /**
     * 删除半成品信息
     */
    int deleteMateriaHalfById(String[] materialIdS);

    /**
     * 修改半成品信息
     */
    int updatMateriaHalfEdit(MaterialHalf materialHalf);

    /**
     * 冻结/解冻半成品信息
     */
    int updateHalfEditFreeze(MaterialHalf materialHalf);

    /**
     * 半成品信息树结构
     */
    List<ProjectRecursionDto> selectChildrenHalfListThe();

    /**
     * 根据编码或名称查询对应id
     */
    MaterialHalf selectHalfByList(MaterialHalf materialHalf);

    /**
     * 根据物料编码查询详情（半成品信息）
     * @param materialCode
     * @return
     */
    MaterialHalf selectMaterialHalfMaterialCode(String materialCode);

    /**
     * 根据id获取详情
     */
    String getMaterialHalfById(@Param("materialIdList") List<String> materialIdList);

    /**
     * 根据物料编码查询详情(委外订单明细列表fegin调用)
     */
    MaterialHalfDto getHalfViewByMaterialCode(String materialCode);
}
